package com.tedu.api.ee;

import org.junit.Test;

import java.io.*;

/**
 * 考试题：throw与throws
 * 异常关键字：throw---主动抛出异常
 *           语法：定义在方法主体中，如果执行throw,一定抛出异常对象RunTimeException
 *           指定主动抛出异常对象名字
 *           throw new  RunTimeException（）
 *           特点：定义异常，原因 程序不合理
 *
 *           throws---抛出异常不解决 √ 【被动抛出异常】
 *           语法：定义在方法或者主方法后面
 *           异常对象名称，的哥异常对象逗号分隔
 *           throws IOException，Exception
 *           特点：抛出异常中存在较大的异常，小异常去掉，包括小异常！
 *                抛出异常都是同等级：小异常！
 *
 * RunTimeException：运行期异常：①主动产生异常
 *                             ②控制台产生异常
 */
public class Person {
    private int age;//私有属性

    public int getAge() {
        return age;
    }

    public void setAge(int age) { //设置年龄：0-120岁：主动抛出异常
        if(age<0||age>120){//判断：人  年龄超出  0-120岁之间---主动抛出异常【true】
           throw new RuntimeException("年龄不合规");
        }
        this.age = age;
    }

    public static void main(String[] args) {
        Person p=new Person();
        p.setAge(120);
        System.out.println("我们的年龄是："+p.getAge()+"岁");
    }
}
